#ifndef PARAFLUIDSMOOTHINGKERNEL_H
#define PARAFLUIDSMOOTHINGKERNEL_H

#include "parafluidvector.h"

namespace ParaFluid
{
	
	/**
	* Smoothing Kernel
	*/
	namespace SmoothingKernel
	{
		
		/**
		* Value of Poly6 Kernel
		*/
		float valuePoly6(const float & smoothingDistance, const float & distanceBetweenAtoms);
		
		/**
		* Gradient of Spiky Kernel
		*/
		Vector gradientSpiky(const float & smoothingDistance, const Vector & distanceBetweenAtoms);
		
		/**
		* Laplancian of Viscosity Kernel
		*/
		float laplacianViscosity(const float & smoothingDistance, const Vector & distanceBetweenAtoms);
		
	};
	
}

#endif

